package cn.eu.mqtt.model.notice;

import cn.eu.mqtt.model.req.VehicleConfigReq;
import lombok.Getter;
import lombok.Setter;

/**
 * 通知-车辆配置信息
 */
@Getter
@Setter
public class VehicleConfig {
    /**
     * 时间戳
     */
    private String timestamp;
    /**
     * 推送辅助 <br/>
     * 1 - 启用boost（默认） <br/>
     * 0 - 不启用 <br/>
     */
    private Integer assistEn;
    /**
     * 辅助爬升 <br/>
     * 1-启用 <br/>
     * 0-不启用 （默认） <br/>
     */
    private Integer climbEn;
    /**
     * 二维码，最多包含32个字符
     */
    private String QRCode;
    /**
     * 电机锁（不允许电机旋转） <br/>
     * 1 - 启用 <br/>
     * 0 - 不启用 <br/>
     */
    private Integer lockMotor;
    /**
     * 变速齿轮功能按钮 <br/>
     * 1 - 启用 <br/>
     * 0 - 不启用 <br/>
     */
    private Integer shiftGears;
    /**
     * 控制LED功能按钮 <br/>
     * 1 - 启用 <br/>
     * 0 - 不启用 <br/>
     */
    private Integer controlLed;
    /**
     * 启动模式 <br/>
     * 0 - 不设置
     * 1 - 非零启动
     * 2 - 零启动
     */
    private Integer startupMode;
    /**
     * 速度配置
     */
    private VehicleConfigReq.SpeedInfo speedSet;

    @Getter
    @Setter
    public static class SpeedInfo {
        /**
         * 速度模式 <br/>
         * 1 - 低速 <br/>
         * 2 - 中速 <br/>
         * 3 - 高速 <br/>
         */
        private Integer speedMode;
        /**
         * 低速模式范围：0-25km/h；默认值：10 km/h。
         */
        private Integer lowSpeed;
        /**
         * 中速模式范围：0-25km/h；默认值：15km/h。
         */
        private Integer midSpeed;
        /**
         * 高速模式范围：0-25km/h；默认值：20 km/h
         */
        private Integer highSpeed;
        /**
         * 速度单位 <br/>
         * 1 - 启用  <br/>
         * 0 - 禁用（默认值） <br/>
         */
        private Integer speedUnit;
        /**
         * 巡航模式 <br/>
         * 1 - 启用 <br/>
         * 0 - 禁用（默认值） <br/>
         */
        private Integer cruiseControl;
    }
}
